DEFINE CLASS cl_cuenta as Custom

id_cuenta=0
descripcion=""
	
PROCEDURE getid_cuenta
RETURN this.id_cuenta
ENDPROC

PROCEDURE setid_cuenta
LPARAMETERS nuevo
this.id_cuenta=nuevo
ENDPROC

PROCEDURE getdescripcion
RETURN this.descripcion
ENDPROC

PROCEDURE setdescripcion
LPARAMETERS nuevo
this.descripcion=nuevo
ENDPROC

PROCEDURE nueva_cuenta
USE cuenta
INSERT INTO cuenta(descripcion) VALUES (this.descripcion)
USE IN cuenta
ENDPROC
	
PROCEDURE buscar_cuenta
LPARAMETERS id
USE DATA1/cuenta
SELECT * FROM cuenta WHERE id_cuenta=id INTO CURSOR cat
IF _tally==0 THEN 
USE IN cuenta
USE IN cat
return .f.
else
this.descripcion=cat.descripcion
ENDIF
USE IN cuenta
USE IN cat
ENDPROC
	
PROCEDURE borrar
SET DELETED on
USE cuenta
DELETE FROM DATA1/cuenta WHERE id_cuenta=this.id_cuenta
USE IN cuenta
ENDPROC
	
PROCEDURE modificar
USE DATA1/cuenta
UPDATE  cuenta set descripcion=this.descripcion WHERE id_cuenta=this.id_cuenta
USE IN cuenta
ENDPROC		

PROCEDURE cargaCuentas
USE DATA1/cuenta
SELECT * FROM cuenta INTO CURSOR cur_cuentas
LOCAL xml_cuentas
CURSORTOXML("cur_cuentas","xml_cuentas",1,48)
USE IN cuenta
RETURN xml_cuentas
ENDPROC

procedure mostrar_cuenta
	LPARAMETERS ape
	USE DATA1/cuenta
	SELECT * FROM cuenta WHERE descripcion like "%"+ALLTRIM(ape)+"%" into cursor cur_cuentas
	LOCAL xml_cuentas
	CURSORTOXML("cur_cuentas","xml_cuentas",1,48)
	USE IN cuenta
	RETURN xml_cuentas
	ENDPROC

ENDDEFINE